<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Massiivid ja nende funktsioonid. Arrays and its functions</title>
    </head>
    <body>
        <?php
            $array_ehk_massiiv = array(2, 3, 4, 6, 8, 10, 44, 57);
            /*
             * var_dump-i vaatasime eelmises failis jrk numbriga 11. See prindib kogu 
             * massiivi sisu selliselt välja, et iga massiivis hoitava väärtuse kohta
             * näeme ära ka tema andmetüübi
             */
            echo var_dump($array_ehk_massiiv);
        ?>    
        <p>Massiivi sisu saab vastupidiseks pöörata rsort() (ehk reverse) funktsiooni abil</p>
        <?php rsort($array_ehk_massiiv); echo var_dump($array_ehk_massiiv); ?>
         
        <p>
            Massiivi sisu saab sorteerida sort() funktsiooni abil. Antud juhul
            seab see meie poolt vastupidiseks pööratud järjekorra uuesti tagasi teistpidi,
            kuna antud funktsioon sorteerib arvulisi väärtusi kasvavas järjekorras
        </p>
        <?php sort($array_ehk_massiiv); echo var_dump($array_ehk_massiiv); ?>
        
        <p>
            Minimaalne väärtus massiivis on:
        </p>
        <?php echo min($array_ehk_massiiv); ?>
        
        
        <p>
            Maksimaalne väärtus massiivis on:
        </p>
        <?php echo max($array_ehk_massiiv); ?>
        
        
        <p>
            Massiivi sisu kasutajale veel loetavamal viisil kuvamise võimalused
            on funktsioonid explode ja implode. <b style="color: red;">implode() FUNKTSIOON MUUDAB MASSIIVI
            STRINGIKS, explode() FUNKTSIOON AGA STRINGIKUJUL OLEVA TEKSTI TAGASI 
            MASSIIVIKS.</b> Nii saab massiiviks muuta ka internetist leitud, või enda
            koostatud ning korrapäraselt mingi eraldajaga eraldatud andmeid. 
            Seejärel teha aga juba massiiviga mingeid eesmärgipäraseid programseid operatsioone. 
        </p>
        <?php 
            /*
             * Kui massiivi näiteks print_r abil välja printida, siis tulevad 
             * väljundisse mitte just kõige tavapärasemad eraldajad =>
             * Nende muutmiseks väljundisse kuvamiseks tulebki appi funktsioon
             * implode(). Selle esimene parameeter ütleb, millega tuleks vanad 
             * eraldajad asendada, kui massiivi välja kuvatakse ning teine parameeter
             * on massiiv ise, mille väärtuste eraldajad ekraanile kuvamiseks 
             * asendatakse. 
             */
            echo "<b>Kuvan massiivi nii, et selle väärtusi eraldavad vaid komad:</b> " . 
                    implode(', ', $array_ehk_massiiv);
            echo '<br/>';
            /*
             * implode ja explodega manipuleerimiseks salvestan muutuja, millesse
             *on salvestatud implodega töödeldud massiivist moodustatud string.
             */
            $implodegaToodeldudMassiiv = implode(', ', $array_ehk_massiiv);
            echo "Implodega töödeldud massiivist moodustatud string: " . $implodegaToodeldudMassiiv;
            echo '<br/>';
            //Viin implde() funktsiooni abil töödeldud stringi explode() funktsiooni
            //abil sellisele kujule, nagu teda originaalis oleks välja prinditud:
            //PANNA TÄHELE, ET implode() TEGI MASSIIVI TAVALISEKS STRINGIKS, 
            //explode() MUUTIS AGA MUUTUJAS $implodegaToodeldudMassiiv OLEVA STRINGI
            //TAGASI MASSIIVIKS!!!
            echo print_r(explode(', ', $implodegaToodeldudMassiiv));
            echo '<br/>';
        ?>
        
        
        <p>
            Küsime, kas meie poolt ette öeldud väärtus (nt 10) eksisteerib massiivis 
            või ei. Antud vastus on boolean väärtus (ehk tõene, kui väärtus on 1 ja 
            väär, kui väärtus on 0. Antud juhul kuvatakse vastuseks tühi string "", kui vastus on väär):
        </p>
        <?php 
            echo "Vastus tõesena: " . in_array(10, $array_ehk_massiiv);
            echo '<br/>';
        ?>
        <?php 
            echo "Vastus väärana (arv 11 ei esine massiivis): " . in_array(11, $array_ehk_massiiv);
            echo '<br/>';
        ?>
    </body>
</html>
